package com.yingsheng.bi.hks.web.controller;

import com.yingsheng.bi.hks.dto.job.*;
import com.yingsheng.bi.hks.feign.client.JobFeignClient;
import com.yingsheng.bi.hks.service.job.JobMgmtService;
import com.yingsheng.bi.hks.template.annotation.Template;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;

/**
 * 工单管理
 *
 * @author 83686
 */
@RestController
public class JobCtrl implements JobFeignClient {

    @Autowired
    private JobMgmtService jobMgmtService;

    @Template(name = "accessTransTemplate")
    @Override
    public ChildCareAddRes childCareAdd(@Validated ChildCareAddReq req) {
        return jobMgmtService.childCareAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public ChildButlerAddRes childButlerAdd(@Validated ChildButlerAddReq req) {
        return jobMgmtService.childButlerAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public ChildCompanionAddRes childCompanionAdd(@Validated ChildCompanionAddReq req) {
        return jobMgmtService.childCompanionAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public HouseholdCareAddRes householdCareAdd(@Validated HouseholdCareAddReq req) {
        return jobMgmtService.householdCareAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public OlderHomeCareAddRes olderHomeCareAdd(@Validated OlderHomeCareAddReq req) {
        return jobMgmtService.olderHomeCareAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public ObstetricNursingAddRes obstetricNursingAdd(@Validated ObstetricNursingAddReq req) {
        return jobMgmtService.obstetricNursingAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public DailyCleanAddRes dailyCleanAdd(@Validated DailyCleanAddReq req) {
        return jobMgmtService.dailyCleanAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public FineCleanAddRes fineCleanAdd(@Validated FineCleanAddReq req) {
        return jobMgmtService.fineCleanAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public WastelandCleanAddRes wastelandCleanAdd(@Validated WastelandCleanAddReq req) {
        return jobMgmtService.wastelandCleanAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public YearCleanRes yearCleanAdd(@Validated YearCleanReq req) {
        return jobMgmtService.yearCleanAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public ChildHomeStorageAddRes childHomeStorageAdd(@Validated ChildHomeStorageAddReq req) {
        return jobMgmtService.sortingStorageAdd(req);
    }
    @Template(name = "accessTransTemplate")
    @Override
    public WardrobeStorageAddRes wardrobeStorageAdd(WardrobeStorageAddReq req) {
        return jobMgmtService.wardrobeStorageAdd(req);
    }
    @Template(name = "accessTransTemplate")
    @Override
    public CanteenStorageAddRes canteenStorageAdd(CanteenStorageAddReq req) {
        return jobMgmtService.canteenStorageAdd(req);
    }
    @Template(name = "accessTransTemplate")
    @Override
    public StudyStorageAddRes studyStorageAdd(StudyStorageAddReq req) {
        return jobMgmtService.studyStorageAdd(req);
    }
    @Template(name = "accessTransTemplate")
    @Override
    public DailyStorageAddRes dailyStorageAdd(DailyStorageAddReq req) {
        return jobMgmtService.dailyStorageAdd(req);
    }
    @Template(name = "accessTransTemplate")
    @Override
    public MultiyearStorageAddRes multiyearStorageAdd(MultiyearStorageAddReq req) {
        return jobMgmtService.multiyearStorageAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public HeadButlerAddRes headButlerAdd(@Validated HeadButlerAddReq req) {
        return jobMgmtService.headButlerAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public DomesticHousekeeperAddRes domesticHousekeeperAdd(@Validated DomesticHousekeeperAddReq req) {
        return jobMgmtService.domesticHousekeeperAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public HomeEducationHousekeeperAddRes homeEducationHousekeeperAdd(HomeEducationHousekeeperAddReq req) {
        return jobMgmtService.homeEducationHousekeeperAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public InternationalEducationManagerAddRes internationalEducationManagerAdd(InternationalEducationManagerAddReq req) {
        return jobMgmtService.internationalEducationManagerAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public PetFeedAddRes petFeedAdd(@Validated PetFeedAddReq req) {
        return jobMgmtService.petFeedAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public PetWalkAddRes petWalkAdd(@Validated PetWalkAddReq req) {
        return jobMgmtService.petWalkAdd(req);
    }



    @Template(name = "accessTransTemplate")
    @Override
    public PrivateChefAddRes privateChefAdd(@Validated PrivateChefAddReq req) {
        return jobMgmtService.privateChefAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public ElectricalCleanAddRes electricalCleanAdd(@Validated ElectricalCleanAddReq req) {
        return jobMgmtService.electricalCleanAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public PipeDredgingAddRes pipeDredgingAdd(@Validated PipeDredgingAddReq req) {
        return jobMgmtService.pipeDredgingAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public UnlockTheDoorAddRes unlockTheDoorAdd(UnlockTheDoorAddReq req) {
        return jobMgmtService.unlockTheDoorAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public WaterElectricityRepairAddRes waterElectricityRepairAdd(@Validated WaterElectricityRepairAddReq req) {
        return jobMgmtService.waterElectricityRepairAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public ElectricalRepairAddRes electricalRepairAdd(ElectricalRepairAddReq req) {
        return jobMgmtService.electricalRepairAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public FloorWaxingAddRes floorWaxingAdd(@Validated FloorWaxingAddReq req) {
        return jobMgmtService.floorWaxingAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public LeatherGoodsMaintenanceAddRes leatherGoodsMaintenanceAdd(@Validated LeatherGoodsMaintenanceAddReq req) {
        return jobMgmtService.leatherGoodsMaintenanceAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public BusinessAndGovernmentServicesAddRes businessAndGovernmentServicesAdd(@Validated BusinessAndGovernmentServicesAddReq req) {
        return jobMgmtService.businessAndGovernmentServicesAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public MedicalChaperonAddRes medicalChaperonAdd(@Validated MedicalChaperonAddReq req) {
        return jobMgmtService.medicalChaperonAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public CurtainCleanAddRes curtainCleanAdd(CurtainCleanAddReq req) {
        return jobMgmtService.curtainCleanAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public CarpetWashAddRes carpetWashAdd(CarpetWashAddReq req) {
        return jobMgmtService.carpetWashAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public FabricSofaAddRes fabricSofaAdd(FabricSofaAddReq req) {
        return jobMgmtService.fabricSofaAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public ChandelierCleanAddRes chandelierCleanAdd(ChandelierCleanAddReq req) {
        return jobMgmtService.chandelierCleanAdd(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public LeatherLuxuryCareAddRes leatherLuxuryCareAdd(LeatherLuxuryCareAddReq req) {
        return jobMgmtService.leatherLuxuryCareAdd(req);
    }

    @Template(name = "publicQueryTemplate")
    @Override
    public JobsQryRes qry(@Validated JobsQryReq req) {
        return jobMgmtService.qry(req);
    }

    @Template(name = "publicQueryTemplate")
    @Override
    public JobsQryByIdRes JobsQryById(JobsQryByIdReq req) {
        return jobMgmtService.JobsQryById(req);
    }

    @Template(name = "accessTransTemplate")
    @Override
    public JobsApplyRes JobsApply(@Validated JobsApplyReq req) {
        return jobMgmtService.JobsApply(req);
    }


}
